package com.newlink.building.secret.mvp.contract

import com.newlink.building.common_base.base.IModel
import com.newlink.building.common_base.base.IPresenter
import com.newlink.building.common_base.base.IView
import com.newlink.building.common_base.model.bean.*
import io.reactivex.Observable

/**
 * Created by xiaodong on 2023/4/4.
 */
interface Module_Secret_SecretKeyAddContract {
    interface View : IView {
        fun refreshAddStatus(data: StatusData)
        fun refreshDeviceList(data: MutableList<DeviceData>)
    }

    interface Presenter : IPresenter<View> {
        fun addSecretKey(requestBean: SecretKeyAddRequest)
        fun getDeviceList(requestBean: DeviceListRequest)
    }

    interface Model : IModel {
        fun addSecretKey(requestBean: SecretKeyAddRequest): Observable<HttpResult<StatusData>>
        fun getDeviceList(requestBean: DeviceListRequest): Observable<HttpResult<DeviceListData>>
    }
}